home *** CD-ROM | disk | FTP | other *** search
/ Inventor Labs: Technology / INVENTORLABS_TECHNOLOGY.BIN / pc / files / bell.dir / 00170_Script_Induction Balance Object < prev    next >
Text File  |  1997-05-26  |  3KB  |  100 lines

  1. --Induction Balance Object
  2. --Instantiated as gInductionBalanceObj
  3.  
  4. property pDisplayingPaddle
  5. property pPICTsprite, pPaddleSprite, pFirstMetalHS, pLastMetalHS
  6. property pPlaceHolderCastNum, pPaddleCastNum, pBeepCastNum
  7. property pBoundaryRect
  8.  
  9. global gUtilityObj, gInterfaceMgrObj
  10. -----------------------------------------------------------------<<ò>>
  11. on mInit me
  12.   
  13.   mPlayVO( gUtilityObj, "BIBINTR.AIF" ) 
  14.   
  15.   set pPICTsprite = 2
  16.   set pPaddleSprite = 20
  17.   set pFirstMetalHS = 3
  18.   set pLastMetalHS = 16
  19.   
  20.   set pPlaceHolderCastNum = the number of cast "Induction Placeholder"
  21.   set pPaddleCastNum = the number of cast "BIBPDL1.PIC"
  22.   set pMetalHScastNum = the number of cast "MetalHS"
  23.   set pBeepCastNum = the number of cast "BIB.AIF"
  24.   
  25.   set pBoundaryRect = rect(60, 80, 420, 440) 
  26.   return me
  27.   
  28. end mInit
  29. -----------------------------------------------------------------<<ò>>
  30. on mActivate me
  31.   
  32.   puppetSprite pPaddleSprite, true
  33.   set pDisplayingPaddle = false
  34.   mSetToolBtns (gInterfaceMgrObj,#Induction, me)
  35.  
  36. end mActivate
  37. -----------------------------------------------------------------<<ò>>
  38. on mClose me
  39.   
  40.   puppetSprite pPaddleSprite, false
  41.   cursor 0
  42.   
  43. end mClose
  44. -----------------------------------------------------------------<<ò>>
  45. on mPerform me
  46.   
  47.   set mousePoint = point(the mouseH, the mouseV)
  48.   if inside(mousePoint, pBoundaryRect) then
  49.     if not pDisplayingPaddle then mDisplayPaddle(me)
  50.     mUpdatePaddleLoc(me)
  51.   else  if pDisplayingPaddle then mHidePaddle(me)
  52.   updateStage
  53.   go the frame
  54.   
  55. end mPerform
  56. -----------------------------------------------------------------<<ò>>
  57. on mDisplayPaddle me
  58.   
  59.   cursor 200
  60.   set pDisplayingPaddle = true
  61.   set the castNum of sprite pPaddleSprite = pPaddleCastNum
  62.   
  63. end mDisplayPaddle
  64. -----------------------------------------------------------------<<ò>>
  65. on mHidePaddle me
  66.   
  67.   set pDisplayingPaddle = false
  68.   set the castNum of sprite pPaddleSprite = pPlaceHolderCastNum
  69.   set the locH of sprite pPaddleSprite = -500
  70.   cursor 0
  71.   
  72. end mHidePaddle
  73. -----------------------------------------------------------------<<ò>>
  74. on mUpdatePaddleLoc me
  75.   
  76.   set SpriteToCheck = pFirstMetalHS
  77.   set OnAMetalObject = false
  78.   
  79.   set Done = false
  80.   repeat while not Done and (SpriteToCheck < pLastMetalHS)
  81.     if rollover(SpriteToCheck) then
  82.       set OnAMetalObject = true
  83.       set Done = true
  84.     else set SpriteToCheck = SpriteToCheck + 1
  85.   end repeat
  86.   
  87.   if OnAMetalObject and not mSndEffectActive( gUtilityObj) then mPlaySndEffect( gUtilityObj, pBeepCastNum ) 
  88.   else if not OnAMetalObject then mStopSndEffect( gUtilityObj) 
  89.   
  90.   set the locH of sprite pPaddleSprite = the mouseH
  91.   set the locV of sprite pPaddleSprite = the mouseV
  92.   
  93. end mUpdatePaddleLoc
  94. -----------------------------------------------------------------<<ò>>
  95. on mOperate me
  96.   
  97.   mDisplayPaddle me
  98.   
  99. end mOperate
  100. -----------------------------------------------------------------<<ò>>